home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
Graphics
/
Pyramid
/
README
Wrap
Text File
|
1993-09-15
|
2KB
|
62 lines
Pyramid.app
Pyramid grew out of a need to build some simple 3D graphics
primitives for a project I was working on. The functions in
matrix.subproj provide a basic mechanism for defining a 3D
perspective transformation and mapping points from space onto
a viewing plane.
I wrote the pyramid model and viewer as a testbench to get
visual feed back from the matrix routines. Any problems
in the math were *very* obvious as things spun around.
Having completed pyramid, I added the kitchen model for
my wife. Some time ago I had been helping her understand
the basics of perspective, and made various diagrams
based on our kitchen. The crude diagrams didn't help
much, and I decided to do a computer model, which would be
accurate and dynamic. That never happened, of course,
until I realized after writing Pyramid that adding a
kitchen model would be trivial. Watching the lines
converge on the vanishing points along the horizon as the
scene moves really makes the concept come alive.
Though not complicated, it took a while to understand the
math and get it right, and I hadn't seen anything similar
on the net. I'm posting Pyramid and the matrix routines so
that others may have some fun as well.
Acknowledgements:
Thanks to Vince DeMarco for putting his
CircularSlider palette on the net!
Problems:
The hidden line algorithms are primitive. The moon will
occasionally peek through to the foreground.
The kitchen will fold inside out if you look at it from
funny angles. It's really only useful when viewed from
one octant of the coordinate space.
_______________________________________________________
NeXTMail:Peter_Kron@corona.com
Corona Design, Inc.
P.O. Box 51022
Seattle, WA 98115-1022
LEGAL NOTICE:
This software is provided "as-is". In no event shall
Corona Design, Inc. ("CORONA") be liable for any damages
whatsoever (including, without limitation, damages
for loss of business profits, business interruption,
loss of business information, or any other pecuniary
loss) arising out of the use of or inability to use this
software, even if the CORONA has been advised of the
possibility of such damages. Because some states do not
allow the exclusion or limitation of liability for
consequential or incidental damages, the above
limitation may not apply to you.
THE ABOVE WARRANTY IS EXCLUSIVE AND IN LIEU OF ALL OTHER
WARRANTIES WHETHER EXPRESSED OR IMPLIED.